gusucode.com > VC++ EMF图片浏览器(可读emf、wmf、emz、wmz、png……等)-源码程序 > VC++ EMF图片浏览器(可读emf、wmf、emz、wmz、png……等)-源码程序/code/Src/Client/scemflib/SCEMFViewHelpers.cpp
//Download by http://www.NewXing.com /* * This file is part of the EMFexplorer projet. * Copyright (C) 2004 Smith Charles. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * * Extension: for commercial use, apply the Equity Public License, which * adds to the normal terms of the GLPL a condition of donation to the author. * If you are interested in support for this source code, * contact Smith Charles <smith.charles@free.fr> for more information. */ #include "stdafx.h" #include "SCEMFViewHelpers.h" #include "SCEMFViewDefs.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// #define SC_COLORSCHEME_ADDCOLOR(colorUsage) \ ulColorScheme &= ~SC_CSM_##colorUsage##_MASK; \ switch (iColorStyle) \ { \ case SC_COLOR_TRANSPARENT: \ ulColorScheme |= SC_CSM_##colorUsage##_TRANSPARENT; \ break; \ \ case SC_COLOR_SYSINDEX: \ ulColorScheme |= SC_CSM_##colorUsage##_SYSINDEX; \ crColor = SC_MAKE_SYSCOLOR(crColor); \ break; \ \ case SC_COLOR_RGBVALUE: \ default: \ ulColorScheme |= SC_CSM_##colorUsage##_RGBVALUE; \ break; \ } void SCSchemeAdd_CtlColor(ULONG& ulColorScheme, COLORREF& crColor, int iColorStyle) { SC_COLORSCHEME_ADDCOLOR(CTLCOLOR) } void SCSchemeAdd_PaperColor(ULONG& ulColorScheme, COLORREF& crColor, int iColorStyle) { SC_COLORSCHEME_ADDCOLOR(PAPERCOLOR) } ///////////////////////////////////////////////////////////////////////////// #define SC_COLORSCHEME_ADDBORDER(BorderShadow) \ ulColorScheme &= ~SC_CSM_##BorderShadow##_MASK; \ ulColorScheme |= (bVisible) ? SC_CSM_##BorderShadow##_YES: SC_CSM_##BorderShadow##_NONE; void SCSchemeAdd_Border(ULONG& ulColorScheme, BOOL bVisible) { SC_COLORSCHEME_ADDBORDER(BORDER) } void SCSchemeAdd_Shadow(ULONG& ulColorScheme, BOOL bVisible) { SC_COLORSCHEME_ADDBORDER(SHADOW) }